home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / examples / OS2 / Makefile.os2 < prev   
Makefile  |  1997-08-08  |  8KB  |  265 lines

  1. #
  2. # $Id: Makefile.aimk,v 1.11 1997/07/02 14:34:44 pvmsrc Exp $
  3. #
  4. # Makefile.aimk for PVM example programs.
  5. #
  6. # Set PVM_ROOT to the path where PVM includes and libraries are installed.
  7. # Set PVM_ARCH to your architecture type (SUN4, HP9K, RS6K, SGI, etc.)
  8. # Set ARCHLIB to any special libs needed on PVM_ARCH (-lrpc, -lsocket, etc.)
  9. # otherwise leave ARCHLIB blank
  10. #
  11. # PVM_ARCH and ARCHLIB are set for you if you use "$PVM_ROOT/lib/aimk"
  12. # instead of "make".
  13. #
  14. # aimk also creates a $PVM_ARCH directory below this one and will cd to it
  15. # before invoking make - this allows building in parallel on different arches.
  16. #
  17.  
  18. SHELL        =    /bin/ksh
  19.  
  20. PVMDIR        =    ../..
  21. SDIR        =    $(PVMDIR)/examples
  22. BDIR        =    $(PVMDIR)/bin
  23. XDIR        =    $(BDIR)/$(PVM_ARCH)
  24.  
  25. CFLOPTS        =    -g
  26. CFLAGS        =    $(CFLOPTS) -I$(PVMDIR)/include $(ARCHCFLAGS)
  27.  
  28. ##### Need to select some architecture-specific libraries to link tasks #####
  29. # The default setup is for workstations
  30.  
  31. ### Select PVMLIB depending on architecture. 
  32. #          For MPPs (PGON and SP2MPI) select:
  33. # PVMLIB        =     -lpvm3pe
  34. #        For Workstations and shared memory architectures select:
  35. # PVMLIB         =     -lpvm3
  36.  
  37. PVMLIB    = -lpvm3
  38.  
  39. ### Select the PVMHLIB depending on architecture
  40. # Host versions of programs use sockets to communicate with the daemon.
  41. # They can be built with aimk hostprogs, they are only necessary for
  42. # MPPs and are OPTIONAL for other architectures
  43. #
  44. #        For MPPs and Workstations select
  45. # PVMHLIB        =     -lpvm3
  46. #        for Shared Memory Archtiectures
  47. # PVMHLIB        =    -lpvm3s
  48.  
  49. PVMHLIB = -lpvm3
  50.  
  51. #############################################################################
  52. LIBS        =    $(PVMLIB) $(ARCHLIB)
  53.  
  54. HLIBS    =     $(PVMHLIB) $(ARCHLIB)
  55.  
  56. GLIBS        =    -lgpvm3
  57.  
  58. #F77        =    f77
  59. FORT         = g77
  60. FFLOPTS        =    -g
  61. FFLAGS        =    $(FFLOPTS) $(ARCHFFLAGS)
  62. FLIBS        =    -lfpvm3
  63.  
  64. LFLAGS        =    $(LOPT) -L$(PVMDIR)/lib/$(PVM_ARCH)
  65.  
  66. CPROGS        =    hello$(EXESFX) hello_other$(EXESFX) \
  67.                 gexample$(EXESFX) \
  68.                 master1$(EXESFX) master1h$(EXESFX) slave1$(EXESFX) \
  69.                 spmd$(EXESFX) \
  70.                 timing$(EXESFX) timing_slave$(EXESFX) \
  71.                 gmbi$(EXESFX) \
  72.                 dbwtest$(EXESFX) ibwtest$(EXESFX) pbwtest$(EXESFX) rbwtest$(EXESFX)
  73.  
  74. HOSTCPROGS        =     helloh$(EXESFX) gexampleh$(EXESFX) master1h$(EXESFX) timingh$(EXESFX) gmbih$(EXESFX) 
  75.  
  76. FPROGS        =    fgexample$(EXESFX) fmaster1$(EXESFX) fslave1$(EXESFX) fspmd$(EXESFX) hitc$(EXESFX) hitc_slave$(EXESFX)
  77.  
  78. HOSTFPROGS    = fmaster1h$(EXESFX) hitch$(EXESFX)
  79.  
  80. CTXPROGS    =    inherita$(EXESFX) inheritb$(EXESFX) inherit1$(EXESFX) inherit2$(EXESFX) inherit3$(EXESFX)
  81.  
  82. MBPROGS        =    taskf.o task0$(EXESFX) task1$(EXESFX) task_end$(EXESFX) rme$(EXESFX) lmbi$(EXESFX) gmbi$(EXESFX)
  83.  
  84. default:    hello$(EXESFX) hello_other$(EXESFX)
  85.  
  86. all: c-all f-all
  87.  
  88. c-all:    $(CPROGS) $(CTXPROGS) $(MBPROGS)
  89.  
  90. f-all:    $(FPROGS)
  91.  
  92. hostprogs:    $(HOSTCRPROGS) $(HOSTFPROGS)
  93.  
  94. clean:
  95.     rm -f *.o $(CPROGS) $(FPROGS) $(CTXPROGS) $(MBPROGS)
  96.  
  97. $(XDIR):
  98.     - mkdir $(BDIR)
  99.     - mkdir $(XDIR)
  100.  
  101. hello$(EXESFX): $(SDIR)/hello.c $(XDIR)
  102.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello.c $(LFLAGS) $(LIBS)
  103.     mv $@ $(XDIR)
  104.  
  105. helloh$(EXESFX): $(SDIR)/hello.c $(XDIR)
  106.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello.c $(LFLAGS) $(HLIBS)
  107.     mv $@ $(XDIR)
  108.  
  109. hello_other$(EXESFX): $(SDIR)/hello_other.c $(XDIR)
  110.     $(CC) $(CFLAGS) -o $@ $(SDIR)/hello_other.c $(LFLAGS) $(LIBS)
  111.     mv $@ $(XDIR)
  112.  
  113. dbwtest$(EXESFX): $(SDIR)/bwtest.c $(XDIR)
  114.     $(CC) $(CFLAGS) -DENCODE=PvmDataDefault -DPACK -o $@ \
  115.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  116.     mv $@ $(XDIR)
  117.  
  118. ibwtest$(EXESFX): $(SDIR)/bwtest.c $(XDIR)
  119.     $(CC) $(CFLAGS) -DPACK -DENCODE=PvmDataInPlace -o $@ \
  120.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  121.     mv $@ $(XDIR)
  122.  
  123. pbwtest$(EXESFX): $(SDIR)/bwtest.c $(XDIR)
  124.     $(CC) $(CFLAGS) -o $@ $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  125.     mv $@ $(XDIR)
  126.  
  127. rbwtest$(EXESFX): $(SDIR)/bwtest.c $(XDIR)
  128.     $(CC) $(CFLAGS) -DPACK -DENCODE=PvmDataRaw -o $@ \
  129.         $(SDIR)/bwtest.c $(LFLAGS) $(GLIBS) $(LIBS)
  130.     mv $@ $(XDIR)
  131.  
  132.  
  133. timing$(EXESFX): $(SDIR)/timing.c $(XDIR)
  134.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing.c $(LFLAGS) $(LIBS)
  135.     mv $@ $(XDIR)
  136.  
  137. timingh$(EXESFX): $(SDIR)/timing.c $(XDIR)
  138.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing.c $(LFLAGS) $(HLIBS)
  139.     mv $@ $(XDIR)
  140.  
  141. timing_slave$(EXESFX): $(SDIR)/timing_slave.c $(XDIR)
  142.     $(CC) $(CFLAGS) -o $@ $(SDIR)/timing_slave.c $(LFLAGS) $(LIBS)
  143.     mv $@ $(XDIR)
  144.  
  145. spmd$(EXESFX): $(SDIR)/spmd.c $(XDIR)
  146.     $(CC) $(CFLAGS) -o $@ $(SDIR)/spmd.c $(LFLAGS) $(LIBS)
  147.     mv $@ $(XDIR)
  148.  
  149. fspmd$(EXESFX): $(SDIR)/spmd.f $(XDIR)
  150.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/spmd.f $(LFLAGS) $(FLIBS) $(LIBS)
  151.     mv $@ $(XDIR)
  152.  
  153. master1$(EXESFX): $(SDIR)/master1.c $(XDIR)
  154.     $(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(LIBS)
  155.     mv $@ $(XDIR)
  156.  
  157. master1h$(EXESFX): $(SDIR)/master1.c $(XDIR)
  158.     $(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(HLIBS)
  159.     mv $@ $(XDIR)
  160.  
  161. slave1$(EXESFX): $(SDIR)/slave1.c $(XDIR)
  162.     $(CC) $(CFLAGS) -o $@ $(SDIR)/slave1.c $(LFLAGS) $(LIBS)
  163.     mv $@ $(XDIR)
  164.  
  165.  
  166. fmaster1$(EXESFX): $(SDIR)/master1.f $(XDIR)
  167.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/master1.f $(LFLAGS) $(FLIBS) $(LIBS)
  168.     mv $@ $(XDIR)
  169.  
  170. fmaster1h$(EXESFX): $(SDIR)/master1.f $(XDIR)
  171.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/master1.f $(LFLAGS) $(FLIBS) $(HLIBS)
  172.     mv $@ $(XDIR)
  173.  
  174. fslave1$(EXESFX): $(SDIR)/slave1.f $(XDIR)
  175.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/slave1.f $(LFLAGS) $(FLIBS) $(LIBS)
  176.     mv $@ $(XDIR)
  177.  
  178. hitc$(EXESFX): $(SDIR)/hitc.f $(XDIR)
  179.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc.f $(LFLAGS) $(FLIBS) $(LIBS)
  180.     mv $@ $(XDIR)
  181.  
  182. hitch$(EXESFX): $(SDIR)/hitc.f $(XDIR)
  183.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc.f $(LFLAGS) $(FLIBS) $(HLIBS)
  184.     mv $@ $(XDIR)
  185.  
  186.  
  187. hitc_slave$(EXESFX): $(SDIR)/hitc_slave.f $(XDIR)
  188.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/hitc_slave.f $(LFLAGS) $(FLIBS) $(LIBS)
  189.     mv $@ $(XDIR)
  190.  
  191. gexample$(EXESFX): $(SDIR)/gexample.c $(XDIR)
  192.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gexample.c $(LFLAGS) $(GLIBS) $(LIBS)
  193.     mv $@ $(XDIR)
  194.  
  195. gexampleh$(EXESFX): $(SDIR)/gexample.c $(XDIR)
  196.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gexample.c $(LFLAGS) $(GLIBS) $(HLIBS)
  197.     mv $@ $(XDIR)
  198.  
  199. fgexample$(EXESFX): $(SDIR)/gexample.f $(XDIR)
  200.     $(FORT) $(FFLAGS) -o $@ $(SDIR)/gexample.f $(LFLAGS) $(FLIBS) $(GLIBS) $(LIBS)
  201.     mv $@ $(XDIR)
  202.  
  203. mbox$(EXESFX): $(SDIR)/mbox.c $(XDIR)
  204.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mbox.c $(LFLAGS) $(LIBS)
  205.     mv $@ $(XDIR)
  206.  
  207. inherita$(EXESFX): $(SDIR)/inherita.c $(XDIR)
  208.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherita.c $(LFLAGS) $(LIBS)
  209.     mv $@ $(XDIR)
  210.  
  211. inheritb$(EXESFX): $(SDIR)/inheritb.c $(XDIR)
  212.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inheritb.c $(LFLAGS) $(LIBS)
  213.     mv $@ $(XDIR)
  214.  
  215. inherit1$(EXESFX): $(SDIR)/inherit1.c $(XDIR)
  216.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit1.c $(LFLAGS) $(LIBS)
  217.     mv $@ $(XDIR)
  218.  
  219. inherit2$(EXESFX): $(SDIR)/inherit2.c $(XDIR)
  220.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit2.c $(LFLAGS) $(LIBS)
  221.     mv $@ $(XDIR)
  222.  
  223. inherit3$(EXESFX): $(SDIR)/inherit3.c $(XDIR)
  224.     $(CC) $(CFLAGS) -o $@ $(SDIR)/inherit3.c $(LFLAGS) $(LIBS)
  225.     mv $@ $(XDIR)
  226.  
  227. taskf.o: $(SDIR)/taskf.c
  228.     $(CC) $(CFLAGS) -c -o taskf.o $(SDIR)/taskf.c
  229.  
  230. task0$(EXESFX): $(SDIR)/task0.c $(XDIR)
  231.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task0.c taskf.o $(LFLAGS) $(LIBS)
  232.     mv $@ $(XDIR)
  233.  
  234. task1$(EXESFX): $(SDIR)/task1.c $(XDIR)
  235.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task1.c taskf.o $(LFLAGS) $(LIBS)
  236.     mv $@ $(XDIR)
  237.  
  238. task_end$(EXESFX):$(SDIR)/task_end.c $(XDIR)
  239.     $(CC) $(CFLAGS) -o $@ $(SDIR)/task_end.c taskf.o $(LFLAGS) $(LIBS)
  240.     mv $@ $(XDIR)
  241.  
  242. rme$(EXESFX):$(SDIR)/rme.c $(XDIR)
  243.     $(CC) $(CFLAGS) -o $@ $(SDIR)/rme.c taskf.o $(LFLAGS) $(LIBS)
  244.     mv $@ $(XDIR)
  245.  
  246. lmbi$(EXESFX):$(SDIR)/lmbi.c $(XDIR)
  247.     $(CC) $(CFLAGS) -o $@ $(SDIR)/lmbi.c taskf.o $(LFLAGS) $(HLIBS)
  248.     mv $@ $(XDIR)
  249.  
  250. gmbi$(EXESFX):$(SDIR)/gmbi.c taskf.o $(XDIR)
  251.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gmbi.c taskf.o $(LFLAGS) $(LIBS)
  252.     mv $@ $(XDIR)
  253.  
  254. gmbih$(EXESFX):$(SDIR)/gmbi.c taskf.o $(XDIR)
  255.     $(CC) $(CFLAGS) -o $@ $(SDIR)/gmbi.c taskf.o $(LFLAGS) $(HLIBS)
  256.     mv $@ $(XDIR)
  257.  
  258. mhf_server$(EXESFX):$(SDIR)/mhf_server.c $(XDIR)
  259.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mhf_server.c $(LFLAGS) $(LIBS)
  260.     mv $@ $(XDIR)
  261.  
  262. mhf_tickle$(EXESFX):$(SDIR)/mhf_tickle.c $(XDIR)
  263.     $(CC) $(CFLAGS) -o $@ $(SDIR)/mhf_tickle.c $(LFLAGS) $(LIBS)
  264.     mv $@ $(XDIR)
  265.